Criando uma lixeira [Melhorado]
Publicado por Sandro Marcell 18/07/2007
[ Hits: 5.384 ]
Homepage: http://sanmarcell.wordpress.com
Versão melhorada de um script que cria uma simples lixeira para o usuário. (Versão CShell)
Dica:
Coloque esta linha em seu .bashrc:
alias rm=nome_do_script
Assim toda vez que você chamar pelo terminal o comando rm, estará invocando este script.
Falou!!!
#!/bin/csh # # Criando uma simples lixeira. # (Versão CShell) # # Autor: Sandro Marcell (sandro_marcell@yahoo.com.br) # # Obs.: # Arquivos e diretórios são removidos sem pedido de confirmação. # É possível o uso do metacaractere (*). # A opção -r remove a lixeira. # Checando parâmetros: if ($#argv == 0) then echo "Uso: `basename $0` arquivo1 [arquivoN]\ ou\ `basename $0` -r [Para remover a lixeira]" exit endif # Criando a lixeira: set LIXEIRA = $home/lixeira if (! -e $LIXEIRA) then mkdir $LIXEIRA endif # O que fazer? switch ($argv[1]) # Remover a lixeira! case -r: # Descartando a opção -r: shift # Checando parâmetros: if ($#argv >= 1) then echo "Erro: A opção [-r] não aceita parâmetros!" exit else # Perguntando antes de remover: echo -n "Deseja realmente remover a lixeira? [s/n]:" # Capturando resposta: set R = $< # Checando resposta: if ($R == s || $R == S) then # Removendo rm -R -f $LIXEIRA >& /dev/null echo "Lixeira removida!" exit else if ($R == n || $R == N) then echo "Saindo..." exit else echo "[$R] Resposta inválida." exit endif endif breaksw # ou mandar tudo pro lixo... default: # Início do loop: foreach A ($argv) # Testes condicionais: if (! -e $A) then echo "-> Arquivo ou diretório não encontrado." continue else if (! -w $A) then echo "-> Sem permissão para remover." continue endif # Removendo: ls $A | xargs cp -R -f $A --target-directory=$LIXEIRA >& /dev/null ls $A | xargs rm -R -f $A >& /dev/null echo "Arquivo removido!" end breaksw endsw # Fim
Administração de usuários Linux
Proteção de tela automática com xlock
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
fusermount3 no Ubuntu 25.10 - mantenha o perfil do AppArmor
[Resolvido] dlopen(): error loading libfuse.so.2 AppImages require FUSE to run.
Criação de diretórios e aplicação de restrições de acesso no Linux
diferença entre o Tor baixado pelo Gerenciador de Aplicativos e o Tor ... (8)
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (16)
VOL já não é mais como antes? (28)
Atualizei meu ubuntu e desliguei e ele não inicia corretamente (18)









